<template>
  <div id="home">
    <div class="home_head">Home 主页</div>
    <div class="signout">
      <el-button type="info" @click="Back">退出</el-button>
    </div>
    <div class="stars" ref="stars">
      <div
        v-for="(item, index) in starsCount"
        :key="index"
        ref="star"
        class="star"
      ></div>
    </div>
  </div>
</template>

<script>
export default {
  name: 'Home',
  data() {
    return {
      starsCount: 800, //星星数量
      distance: 800, //间距
    };
  },
  methods: {
    Back() {
      //  清空token
      window.sessionStorage.clear();
      //   跳转到登录页
      this.$router.push('/login');
    },
  },
  mounted() {
    let starArr = this.$refs.star;
    starArr.forEach((item) => {
      let speed = 0.2 + Math.random() * 1;
      let thisDistance = this.distance + Math.random() * 300;
      item.style.transformOrigin = `0 0 ${thisDistance}px`;
      item.style.transform = `
        translate3d(0,0,-${thisDistance}px)
        rotateY(${Math.random() * 360}deg)
        rotateX(${Math.random() * -50}deg)
        scale(${speed},${speed})`;
    });

    // let stars = this.$refs.stars;
    // console.log(stars.querySelector("div"));
  },
};
</script>
<style lang="less" scoped>
@keyframes rotate {
  0% {
    transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(0);
  }
  100% {
    transform: perspective(400px) rotateZ(20deg) rotateX(-40deg)
      rotateY(-360deg);
  }
}
#home {
  background: radial-gradient(
    200% 100% at bottom center,
    #f7f7b6,
    #e96f92,
    #1b2947
  );
  background: radial-gradient(
    220% 105% at top center,
    #1b2947 10%,
    #75517d 40%,
    #e96f92 65%,
    #f7f7b6
  );
  background-attachment: fixed;
  overflow: hidden;
  .home_head {
    height: 100px;
    line-height: 100px;
    text-align: center;
    font-size: 50px;
    color: #eee;
  }
  .signout {
    position: absolute;
    bottom: 50px;
    right: 50px;
  }
  .stars {
    transform: perspective(500px);
    transform-style: preserve-3d;
    position: absolute;
    perspective-origin: 50% 100%;
    left: 50%;
    animation: rotate 90s infinite linear;
    bottom: 0;
    z-index: 999;
    .star {
      width: 2px;
      height: 2px;
      background: #f7f7b8;
      position: absolute;
      top: 0;
      left: 0;
      backface-visibility: hidden;
      z-index: 999;
    }
  }
}
</style>